﻿using System.Collections.Generic;
using System.Linq;

namespace reformat
{
    internal class formatieren
    {
        internal List<string> formatierte_Zeilen_bauen_und_ausgeben(string p_Text, int p_ZeichenAnzahl)
        {
            var p_Zeilen = new List<string>();
            var p_Wörter = new List<string>(SplittenNachWhitespaces(p_Text));

            foreach (string p_Item in p_Wörter)
            {
                if (p_Zeilen.Count() == 0)
                {
                    p_Zeilen.Add(p_Item);
                }
                else if (p_Zeilen[p_Zeilen.Count() - 1].Length + p_Item.Length <= p_ZeichenAnzahl)
                {
                    p_Zeilen[p_Zeilen.Count() - 1] = p_Zeilen[p_Zeilen.Count() - 1] + " " + p_Item;
                }
                else if (p_Zeilen[p_Zeilen.Count() - 1].Length + p_Item.Length > p_ZeichenAnzahl)
                {
                    p_Zeilen.Add(p_Item);
                }
            }
            return p_Zeilen;
        }

        internal List<string> SplittenNachWhitespaces(string p_Text)
        {
            var p_Zeilen = new List<string>();
            var p_Wörter = new List<string>(p_Text.Split(' '));
            return p_Wörter;
        }
    }
}
